<?php
//FUNCION QUE REALIZA LA CONSUTA SQL
//@Autor: Walter Giordano
//@Fecha: 07.04.2011
//error_reporting(E_ALL);
function cons_sql($tabla,$condicion,$orden,$ult)
 {
 $conec=Conectar();
 
    if($condicion=="" ) // valido que exista condicion
	     $condicion="1=1";
		   
		   
    if($orden=="" )    // valido que se haya definido el orden
	     $orden=" ";

    if($ult<>" ")
	$consulta="select ".$ult." * from ".$tabla." where ".$condicion." ".$orden;
     else
         $consulta="select * from ".$tabla." where ".$condicion." ".$orden;
 //echo $consulta;
 $cons=mysql_query($consulta,$conec);
 return $cons;          //devuelvo el resultado de la consulta
 
 }


 function cons_ins($sql)
 {
 $conec=Conectar();
 //echo $consulta;
 $cons=mysql_query($sql);
 return $cons;          //devuelvo el resultado de la consulta

 }



 //FUNCIONES DE FECHA

 function obtener_dia($dia){

$d_ing=date("l",strtotime($dia));
 switch($d_ing){
    case 'Monday': $dia ="Lunes"; break;
    case 'Tuesday': $dia = "Martes";break;
    case 'Wednesday': $dia = "Miercoles"; break;
    case 'Thursday': $dia = "Jueves"; break;
    case 'Friday': $dia = "Viernes"; break;
    case 'Saturday': $dia = "Sabado"; break;
    case 'Sunday': $dia = "Domingo"; break;
 }
return $dia;
 }

function format_fec($campo,$sep) //Funcion que formatea un campo fecha cuando lo recupero de una consutla SQL
 {
 $conec=Conectar();
 $fecha="SELECT DATE_FORMAT('".$campo."','%d".$sep."%m".$sep."%Y') as fecha";
 $fec=mysql_query($fecha,$conec);
 $res_fec=mysql_fetch_array($fec);
 return $res_fec['fecha'];   // devuelvo la fecha formateada

 }
function format_fec1($campo,$sep) //Funcion que formatea un campo fecha cuando lo recupero de una consutla SQL
 {
 global $conec;
 $fecha="SELECT DATE_FORMAT('".$campo."','%d".$sep."%m') as fecha";
 $fec=mysql_query($fecha,$conec);
 $res_fec=mysql_fetch_array($fec);
 return $res_fec['fecha'];   // devuelvo la fecha formateada

 }

 function tratar_parametro($nota){
    $nota= str_replace('"', '', $nota);
    $nota= str_replace('<script>', '', $nota);
    $nota= str_replace('FROM', '', $nota);
    $nota= str_replace('from', '', $nota);
    $nota= str_replace('WHERE', '', $nota);
    $nota= str_replace('where', '', $nota);
    $nota= str_replace('DELETE', '', $nota);
    $nota= str_replace('delete', '', $nota);
    $nota= str_replace('all', '', $nota);
    $nota= str_replace('ALL', '', $nota);

    return $nota;

 }

function format_fec_age($campo) //Funcion que formatea un campo fecha cuando lo recupero de una consutla SQL
 {
  if($campo=="01")
   $fec="Enero";
    elseif($campo=="02")
	  $fec="Febrero";
	   elseif($campo=="03")
	  $fec="Marzo";
	  elseif($campo=="04")
	  $fec="Abril";
	  elseif($campo=="05")
	  $fec="Mayo";
	  elseif($campo=="06")
	  $fec="Junio";
	  elseif($campo=="07")
	  $fec="Julio";
	  elseif($campo=="08")
	  $fec="Agosto";
	  elseif($campo=="09")
	  $fec="Setiembre";
	  elseif($campo=="10")
	  $fec="Octubre";
	  elseif($campo=="11")
	  $fec="Noviembre";
	  elseif($campo=="12")
	  $fec="Diciembre";

   return $fec;   // devuelvo la fecha formateada

 }


 function listar_fecha(){

 $d_ing=date("l");
 switch($d_ing){
    case 'Monday': $dia ="Lunes"; break;
    case 'Tuesday': $dia = "Martes";break;
	case 'Wednesday': $dia = "Miercoles"; break;
    case 'Thursday': $dia = "Jueves"; break;
    case 'Friday': $dia = "Viernes"; break;
    case 'Saturday': $dia = "Sabado"; break;
    case 'Sunday': $dia = "Domingo"; break;
 }
 $d_mes=date("n");
 switch($d_mes){
    case 1: $mes ="Enero"; break;
    case 2: $mes = "Febrero";break;
	case 3: $mes = "Marzo"; break;
    case 4: $mes = "Abril"; break;
    case 5: $mes = "Mayo"; break;
    case 6: $mes = "Junio"; break;
    case 7: $mes = "Julio"; break;
	case 8: $mes = "Agosto"; break;
	case 9: $mes = "Setiembre"; break;
	case 10: $mes = "Octubre"; break;
	case 11: $mes = "Noviembre"; break;
	case 12: $mes = "Diciembre"; break;
 }
 $ret= $dia."  ".date("d")." de ".$mes." de ".date("Y")." ";
 return $ret;

  }

 
//FUNCION QUE FORMATEA FECHAS
//@Autor: Walter Giordano
//@Fecha: 07.04.2011


 
 


//REEMPLAZA CARACTERES ESPECIALES
//@Autor: Walter Giordano
//@Fecha: 07.04.2011
//Parametros: cadena
function remplazar_car( $string )
{
  $string = str_replace ( '&amp;', '&', $string );
  $string = str_replace ( '&#039;', '\'', $string );
  $string = str_replace ( '&quot;', '"', $string );
  $string = str_replace ( '&lt;', '<', $string );
  $string = str_replace ( '&gt;', '>', $string );
  $string = str_replace ( '&uuml;', '�', $string );
  $string = str_replace ( '&Uuml;', '�', $string );
  $string = str_replace ( '&auml;', '�', $string );
  $string = str_replace ( '&Auml;', '�', $string );
  $string = str_replace ( '&ouml;', '�', $string );
  $string = str_replace ( '&Ouml;', '�', $string );   
  $string = ereg_replace("[áàâãª]","",$string);
  $string = ereg_replace("[ÁÀÂÃ]","A",$string);
  $string = ereg_replace("[éèê]","e",$string);
  $string = ereg_replace("[ÉÈÊ]","E",$string);
  $string = ereg_replace("[íìî]","i",$string);
  $string = ereg_replace("[ÍÌÎ]","I",$string);
  $string = ereg_replace("[óòôõº]","o",$string);
  $string = ereg_replace("[ÓÒÔÕ]","O",$string);
  $string = ereg_replace("[úùû]","u",$string);
  $string = ereg_replace("[ÚÙÛ]","U",$string);
  $string = ereg_replace("[Ã¡Ã Ã¢Ã£Âª]"," ",$string);
  $string = ereg_replace("[ÃÃ€Ã‚Ãƒ]","A",$string);
  $string = ereg_replace("[ÃÃŒÃŽ]","I",$string);
  $string = ereg_replace("[Ã­Ã¬Ã®]","i",$string);
  $string = ereg_replace("[Ã©Ã¨Ãª]","e",$string);
  $string = ereg_replace("[Ã‰ÃˆÃŠ]","E",$string);
  $string = ereg_replace("[Ã³Ã²Ã´ÃµÂº]","o",$string);
  $string = ereg_replace("[Ã'Ã'Ã'Ã•]","O",$string);
  $string = ereg_replace("[ÃºÃ¹Ã»]","u",$string);
  $string = ereg_replace("[ÃšÃ™Ã›]","U",$string);
  $string = str_replace("Ã§","c",$string);
  $string = str_replace("Ã‡","C",$string);
  $string = str_replace("[Ã±]","n",$string);
  $string = str_replace("[Ã']","N",$string );
  $string = str_replace("<i<x>frame","<iframe",$string );
  $string = str_replace("</i<x>","</iframe>",$string );
  $string = str_replace("<o<x>bject","<object",$string );
  $string = str_replace("</o<x>","</object>",$string );
  $string = str_replace("<e<x>mbed","<embed",$string );
  $string = str_replace("</e<x>","</embed>",$string );
  //$string = str_replace("&iquest;","¿",$string );

 
  return $string;
} 

function obtener_nombre_sucursal($suc){
$sql="select * from sucursales where id=".$suc;
$consultar=  cons_ins($sql);
$reg=mysql_fetch_array($consultar);
return $reg['Nombre'];

}


function obtener_listado_clientes($where){
$sql="select * from clientes ".$where;
$consultar=  cons_ins($sql);
return $consultar;

}

function obtener_cliente($dni){
$sql="select * from clientes where Dni=".$dni;
$consultar=  cons_ins($sql);
$reg=mysql_fetch_array($consultar);
return $reg['Apellido']." ,".$reg['Nombre'];

}

function obtener_cliente_nombre($dni){
$sql="select * from clientes where Dni=".$dni;
$consultar=  cons_ins($sql);
$reg=mysql_fetch_array($consultar);
$nombre=explode(" ",$reg['Nombre']);
return $nombre[0];

}


function obtener_cliente_id($dni){
$sql="select * from clientes where Dni=".$dni;
$consultar=  cons_ins($sql);
$reg=mysql_fetch_array($consultar);
return $reg['id'];

}


function obtener_nombre_localidad($loc){
$sql="select * from localidades where id=".$loc;
$consultar=  cons_ins($sql);
$reg=mysql_fetch_array($consultar);
return $reg['Nombre'];

}

function listar_localidades(){
$sql="select * from localidades";
$resloc=  cons_ins($sql);
$dev='<select name="loc"><option value="0" selected>Seleccionar... </option>';
while ($reg=mysql_fetch_array($resloc)){
$dev.='<option value="'.utf8_encode(trim($reg['id'])).'">'.utf8_encode(trim($reg['Nombre'])).'</option>';


  }
$dev.='</select>';
return $dev;
}

function listar_financieras(){
$sql="select * from TipoCreditos";
$resloc=  cons_ins($sql);
$dev='<select name="fin"><option value="0" selected>Seleccionar... </option>';
while ($reg=mysql_fetch_array($resloc)){
$dev.='<option value="'.utf8_encode(trim($reg['id'])).'">'.utf8_encode(trim($reg['Nombre'])).'</option>';


  }
$dev.='</select>';
return $dev;


}


function obtener_creditos($dni){
$sql="select count(*) as total from creditos where cliente=".$dni;
$resloc=  cons_ins($sql);
$reg=mysql_fetch_array($resloc);
$dev.=$reg['total'];

return $dev;


}

function obtener_id_financiera($fin){
$sql="select financiera from creditos where id=".$fin;
$resloc=  cons_ins($sql);
$reg=mysql_fetch_array($resloc);
$dev=$reg['financiera'];

return $dev;


}


function obtener_financiera($fin){
$sql="select * from TipoCreditos where id=".$fin;
$consultar=  cons_ins($sql);
$reg=mysql_fetch_array($consultar);
return $reg['Nombre'];

}

function obtener_plan($plan){
$sql="select * from planes where id=".$plan;
$consultar=  cons_ins($sql);
$reg=mysql_fetch_array($consultar);
return $reg['nombre'];

}

function obtener_tasa_plan($plan){
$sql="select * from planes where id=".$plan;

$consultar=  cons_ins($sql);
$reg=mysql_fetch_array($consultar);
return $reg['tasa'];

}

function obtener_gracia_plan($plan){
$sql="select * from planes where id=".$plan;

$consultar=  cons_ins($sql);
$reg=mysql_fetch_array($consultar);
return $reg['gracia'];

}

function obtener_cuotas_plan($plan){
$sql="select * from planes where id=".$plan;

$consultar=  cons_ins($sql);
$reg=mysql_fetch_array($consultar);
return $reg['cuotas'];

}

function obtener_estado($id){

  if($id==0)
        return "Todos";
     if($id==1)
        return "Pendiente";
     elseif($id==2)
        return "Pagado";
     elseif($id==3)
        return "Anulado";
  

}

function obtener_tasa_punitorios($fin){
$sql="select * from TipoCreditos where id=".$fin;
//echo $sql;
$consultar=  cons_ins($sql);
$reg=mysql_fetch_array($consultar);
return $reg['MoraMensual'];

}

function obtener_punitorios($tasapun,$ven,$monto){
//echo $tasapun."  ".$ven." ".$monto; die();
$vencimiento=explode("-", $ven);
$dias=restaFechas($vencimiento[2]."-".$vencimiento[1]."-".$vencimiento[0], date("d-m-Y"));

$valor=(number_format($tasapun, 2, '.', '')/30)*$dias*$monto;
    if($dias > 0)
        return $valor;
    else
        return 0;

}

function restaFechas($dFecIni, $dFecFin)
{
$dFecIni = str_replace("-","",$dFecIni);
$dFecIni = str_replace("/","",$dFecIni);
$dFecFin = str_replace("-","",$dFecFin);
$dFecFin = str_replace("/","",$dFecFin);

ereg( "([0-9]{1,2})([0-9]{1,2})([0-9]{2,4})", $dFecIni, $aFecIni);
ereg( "([0-9]{1,2})([0-9]{1,2})([0-9]{2,4})", $dFecFin, $aFecFin);

$date1 = mktime(0,0,0,$aFecIni[2], $aFecIni[1], $aFecIni[3]);
$date2 = mktime(0,0,0,$aFecFin[2], $aFecFin[1], $aFecFin[3]);

return round(($date2 - $date1) / (60 * 60 * 24));
}


function obtener_saldo($cre,$cuota){
$sql="select * from cuotasCredito where creditoId=".$cre." and cuota=".$cuota;
$consultar=  cons_ins($sql);
$reg=mysql_fetch_array($consultar);
if($reg['saldo'])
    return $reg['saldo'];
else
    return 0;

}

function obtener_capital($cre,$cuota){
$sql="select * from cuotasCredito where creditoId=".$cre." and cuota=".$cuota;
$consultar=  cons_ins($sql);
$reg=mysql_fetch_array($consultar);
if($reg['capital'])
    return $reg['capital'];
else
    return 0;

}
function obtener_interes($cre,$cuota){
$sql="select * from cuotasCredito where creditoId=".$cre." and cuota=".$cuota;
$consultar=  cons_ins($sql);
$reg=mysql_fetch_array($consultar);
if($reg['intereses'])
    return $reg['intereses'];
else
    return 0;

}


function registrar_pago($cre,$cuota,$pun,$total,$abonado){
    //$total es lo que debe pagar
    //el monto del punitorio
    //lo que pago
//para enviarlo por sms
	$pagado=$abonado;
	//fin sms
$saldo=obtener_saldo($cre,$cuota);
$capital=obtener_capital($cre, $cuota);
$interes=obtener_interes($cre, $cuota);
//verifico si es un pago parcial

if($abonado<=$pun){
    $pun=$abonado;
    $abonado=0;
    $saldoCuota=$saldo;
    $estado=1;
    
}else{

    if($abonado<($total+$pun)){
    $pun=$pun;
    $abonado=$abonado-$pun;
    $saldoCuota=($saldo)-($abonado);
    $estado=1;
    }else{
        $pun=$pun;
        $abonado=$abonado-$pun;
        $saldoCuota=($saldo)-($abonado);
        $estado=2;
    }
 
    }







//if($abonado<=$pun){
//    $pun=$abonado;
//    $saldoCuota=$saldo;
//    $estado=1;
//}else
//{
//    $saldoCuota=$saldo-(round($abonado)-round($pun));
//    if($saldoCuota < 1)
//        $estado=2;
//    else
//        $estado=1;
//}


if($pun=="")
    $pun=0;
//genero el recibo asociado
$sqlRec="INSERT INTO recibos
           (credito
           ,cuota
           ,fecha
           ,punitorios
           ,pagado
           ,usuario)
     VALUES
           (".$cre."
           ,".$cuota."
           ,'".date("Y-m-d")."'
           ,".$pun."
           ,".$abonado."
           ,".$_SESSION['UsuId'].")";
		   //echo $sqlRec;die();
//en el recibo abonado es la parte de capital+intereses que cancelo
//el punitorio es lo que esta aparte
//el total abonado surge de la suma entre pagado+punitorios
$insertar=  cons_ins($sqlRec);

//verifico que no haya errores
if(!$insertar)
{
$sqlRol="ROLLBACK";
$rol=  cons_ins($sqlRol);
exit("Error al generar el Recibo");
}
//

//verifico el saldo
if ($saldoCuota < 1)
 $estado=2;



//actualizo el saldo de la cuota
$sql="UPDATE cuotasCredito
   SET estado = ".$estado."
      ,saldo = ".($saldoCuota)."
      ,punitorios = punitorios + ".$pun."
 WHERE creditoId=".$cre." and cuota=".$cuota;
//echo $sql;
$consultar=  cons_ins($sql);
//verifico que no haya errores
if(!$consultar)
{
$sqlRol="ROLLBACK";
$rol=  cons_ins($sqlRol);
exit("Error al actualizar los saldos");
}

$dnicli=obtener_cliente_credito($cre);

//registro en la planilla diaria de ingresos
//tipo=2-Ingreso
//tipoCom=3-Pago de Cuota
$regMov=registrar_movimiento(2,$_SESSION['SucursalId'],$_SESSION['UsuId'],($abonado+$pun),$cre,$cuota,3,$dnicli,  obtener_id_financiera($cre));
if(!$regMov)
{
$sqlRol="ROLLBACK";
$rol=  cons_ins($sqlRol);
exit("Error al registrar el movimiento");
}



//REALIZO EL COMIT DE TODOS LOS REGISTROS
if(($insertar) and ($consultar) and ($regMov)) {
$sqlRol="COMMIT";
$rol=  cons_ins($sqlRol);
if(obtener_saldo_total($cre) < 1){
$sqlCred="UPDATE creditos
   SET estado = 4
     ,activo = 0
      ,observacion = 'Fecha de cancelacion ".date("d-m-Y")."'
 WHERE id=".$cre;
 $insCre=  cons_ins($sqlCred);
 }

}

//actualizo el nivel del credito
$nivel=verificar_deuda_morosidad($cre,obtener_id_financiera($cre));
actualizar_nivel_credito($cre,$nivel);  

//agrego el envio de sms

enviarSMSEntrega($dnicli,$cre,$pagado);
//Fin envio

}


function sumar_recibos($cred,$cuota){
     $sql="select sum(pagado+punitorios) as total from recibos where credito=".$cred." and cuota=".$cuota;
    $consultar=  cons_ins($sql);
	$reg=mysql_fetch_array($consultar);
     if($reg['total'])
       return $reg['total'];
     else
         return " 0.0";
}

function obtener_fecha_ultimo_pago($cred,$cuota){

    $sql="select  fecha from recibos where credito=".$cred." and cuota=".$cuota." order by fecha desc limit 0,1";
    $consultar=  cons_ins($sql);
	$reg=mysql_fetch_array($consultar);
     if($reg['fecha'])
       return $reg['fecha'];
     else
         return "--/--/----";
}

function registrar_movimiento($tipo,$suc,$usu,$monto,$cre,$cuota,$tipoCom,$cli,$fin){

    $sql="INSERT INTO Movimientos
           (Fecha
           ,Tipo
           ,Sucursal
           ,Hora
           ,Usuario
           ,Monto
           ,Credito
           ,Cuota
           ,TipoComprobante
           ,Cliente
           ,Financiera)
     VALUES
           ('".date("Y-m-d")."'
           ,".$tipo."
           ,".$suc."
           ,'".date("Y-m-d H:i:s")."'
           ,".$usu."
           ,".$monto."
           ,".$cre."
           ,".$cuota."
           ,".$tipoCom."
           ,".$cli."
               ,".$fin.")";
    //echo $sql;
    $registrar=  cons_ins($sql);

    return $registrar;

}


function obtener_saldo_total($cre){
$sql="select sum(saldo) as saldo from cuotasCredito where creditoId=".$cre;
$consultar=  cons_ins($sql);
$reg=mysql_fetch_array($consultar);
if($reg['saldo'])
    return $reg['saldo'];
else
    return 0;

}


function obtener_saldo_sucursal($suc){
$sql="select sum(Monto) as saldo from Movimientos where Sucursal=".$suc;

$consultar=  cons_ins($sql);
$reg=mysql_fetch_array($consultar);
if($reg['saldo'])
    return $reg['saldo'];
else
    return 0;

}

function obtener_monto_cuota($cre){
$sql="select  * from cuotasCredito where creditoId=".$cre." and capital<>0 limit 0,1";
$consultar=  cons_ins($sql);
$reg=mysql_fetch_array($consultar);
if($reg['capital'])
    return $reg['capital']+$reg['intereses'];
else
    return 0;

}

function obtener_monto_cuotas($cre,$cuota){
$sql="select * from cuotasCredito where creditoId=".$cre." and cuota=".$cuota;
$consultar=  cons_ins($sql);
$reg=mysql_fetch_array($consultar);
    return ($reg['capital']+$reg['intereses']);


}

function obtener_descuenta($plan){
$sql="select * from planes where id=".$plan;
$consultar=  cons_ins($sql);
$reg=mysql_fetch_array($consultar);
    return ($reg['descuenta']);


}


function obtener_tipo_movimiento($id){
 if($id==1)
    return "Egreso";
 else
     return "Ingreso";


}

function obtener_tipo_comprobante($id){
 if($id==1)
    return "Acreditacion de Saldo";
 elseif($id==2)
     return "Otorgamiento de Credito";
elseif($id==3)
     return "Pago de Cuota";
elseif($id==4)
     return "Compensacion";
	 elseif($id==5)
     return "Anulacion de Creditos";
	 elseif($id==6)
     return "Entrega en Efectivo de Clientes";

}

function obtener_suma_tipo_comprobante($id,$fdesde,$fhasta,$suc)
{$where=" where Sucursal=".$suc;
       if($fdesde<>"")
      $where.=' and Fecha >="'.trim($fdesde).'"';
    if($fhasta<>"")
      $where.=' and Fecha <="'.trim($fhasta).'"';
    
      $where.=" and TipoComprobante =".$id;
$sql="select sum(Monto) as Total from Movimientos ".$where;
//echo $sql;
 $consultar=  cons_ins($sql);
$reg=mysql_fetch_array($consultar);
if ($reg['Total']<>"")
    return $reg['Total'];
else
    return 0;



}


function obtener_saldo_mov($fdesde,$fhasta,$suc)
{$where=" where Sucursal=".$suc;
       if($fdesde<>"")
      $where.=" and Fecha >='".trim($fdesde)."' ";
    if($fhasta<>"")
      $where.=" and Fecha <='".trim($fhasta)."' ";
    
$sql="select sum(Monto) as Total from Movimientos ".$where;
//echo $sql;
 $consultar=  cons_ins($sql);
$reg=mysql_fetch_array($consultar);
if ($reg['Total']<>"")
    return $reg['Total'];
else
    return 0;


}


function obtener_cliente_credito($cre){
$sql="select * from creditos where id=".$cre;
$consultar=  cons_ins($sql);
$reg=mysql_fetch_array($consultar);
 return $reg['cliente'];

}
function existe_credito($cre){
$sql="select * from creditos where id=".$cre;
$consultar=  cons_ins($sql);
 return mysql_num_rows($consultar);

}

function eliminar_credito($cre){
//elimino lineas de credito
$detsql="delete from cuotasCredito where creditoId=".$cre;
$consultardet=  cons_ins($detsql);
//elimino credito
$sql="delete from Creditos where id=".$cre;
$consultar=  cons_ins($sql);
return $consultardet;

}

function verificar_pagos($cre){
$sql="select count(*) as cantidad from recibos where credito=".$cre;
$consultar=  cons_ins($sql);
$reg=mysql_fetch_array($consultar);
return $reg['cantidad'];

}

function elimnar_creditos_log($cre){

$sqlselect="select * from Creditos where id=".$cre;
$consultar=  cons_ins($sqlselect);
$reg=mysql_fetch_array($consultar);
$regMovCom=registrar_movimiento(2,$reg['sucursal'],$_SESSION['UsuId'],$reg['monto'],$reg['id'],0,5,$reg['cliente'],$reg['financiera']);



    $sql1="INSERT INTO creditosElimnados
           (
             fecha
           ,usuario
           ,financiera
           ,tipoplan
           ,amortizacion
           ,cliente
           ,tipoCredito
           ,creditoAnterior
           ,estado
           ,autorizacion
           ,gracia
           ,tasa
           ,activo
           ,primerVencimiento
           ,cuotas
           ,diaVto
           ,observacion
           ,monto
           ,sucursal
           ,fechaElimnacion)
     VALUES
           (
           '".$reg['fecha']."'
           ,".$_SESSION['UsuId']."
           ,".$reg['financiera']."
           ,".$reg['tipoplan']."
           ,1
           ,".$reg['cliente']."
           ,1
           ,0
           ,".$reg['estado']."
           ,'".$reg['autorizacion']."'
           ,".$reg['gracia']."
           ,".number_format($reg['tasa'], 2, '.', '')."
           ,1
           ,'".$reg['primerVencimiento']."'
           ,".$reg['cuotas']."
           ,10
           ,'".$reg['observacion']."'
           ,".$reg['monto']."
           ,".$reg['sucursal']."
           ,'".date("Y-m-d")."')";
//echo $sql1;die();
$insertar=  cons_ins($sql1);
return 1;

}

function verificar_deuda_morosidad($cre,$fin){
    $sql="select * from cuotasCredito where estado=1 and creditoId=".$cre." and vencimiento<='".date('Y-m-d')."' and saldo <> 0 order by vencimiento desc";
    
    //echo $sql;
     $restipo=  cons_ins($sql);
    $nivel=0;
     while ($reg=mysql_fetch_array($restipo)):
     $hoy=date("d-m-Y");
     $fecVto=explode('-',$reg['vencimiento']);
     $dif=$dias=restaFechas($fecVto[2]."-".$fecVto[1]."-".$fecVto[0], $hoy);
     $nivel=obtener_nivel($dif);
     //echo $hoy."   ".$restipo->fields['vencimiento']." ".$dif." ".$nivel."<br>";
     
     endwhile;
     
     return $nivel;
}


function obtener_nivel($dias){
    $sql="select * from NivelesMorosidad where dias <=".$dias." and diasHasta >=".$dias;
    //echo $sql;
    $restipo=  cons_ins($sql);
    while ($reg=mysql_fetch_array($restipo)):
    return $reg['Codigo'];
    endwhile;
}

function obtener_nombre_nivel($id){
    $sql="select * from NivelesMorosidad where id =".$id;
    //echo $sql;
    $restipo=  cons_ins($sql);
    while ($reg=mysql_fetch_array($restipo)):
    return $reg['descripcion'];;
    endwhile;
}



function insertar_registro_nivel($fecha,$cred,$cliente,$nivel,$suc,$fin){
   //BUSCO DATOS DEL CLIENTE
    $monto=0;
    $sqlCli="select * from clientes where Dni=".$cliente;
    $resCli=  cons_ins($sqlCli);
	$reg=mysql_fetch_array($resCli);
    $dir=$reg['Calle']." ".$reg['Numero']." ".$reg['Piso']." ".$reg['Dpto']." ".$reg['EntreCalles'];
    $tel=trim($reg['TelCel']);
    $monto=  obtener_deuda($cred, $fin);
    //echo $cred." ".$monto."<br>";
    
    $sql="INSERT INTO LogProcesoMensual
           (Fecha
           ,Ano
           ,Mes
           ,Credito
           ,Cliente
           ,Nivel
           ,Telefono
           ,Direccion
           ,Sucursal
           ,Monto
           )
     VALUES
           ('".$fecha."'
           ,".date('Y')."
           ,".date('m')."
           ,".$cred."
           ,".$cliente."
           ,".$nivel."
           ,'".$tel."'
           ,'".$dir."'
           ,".$suc."
           ,".$monto.")";
     //echo $sql.';<br>';
    $restipo=  cons_ins($sql);
    
}


function actualizar_nivel_credito($cre,$nivel){
    $sql="UPDATE creditos
   SET 
      nivelMorosidad = ".$nivel."
 WHERE id=".$cre;
    //echo $sql;
   $restipo=  cons_ins($sql); 
}


function obtener_deuda($cre,$fin){
    $sql="select * from cuotasCredito where estado=1 and creditoId=".$cre." and vencimiento<='".date('Y-m-d')."' and saldo <> 0 order by vencimiento desc";
    $restipo=  cons_ins($sql);
    $nivel=0;
     while ($reg=mysql_fetch_array($restipo)):
     $hoy=date("d-m-Y");
     $fecVto=explode('-',$reg['vencimiento']);
     $dif=$dias=restaFechas($fecVto[2]."-".$fecVto[1]."-".$fecVto[0], $hoy);
     $nivel= $nivel + $reg['capital']+ $reg['intereses'];
     //." - -";//$hoy."   ".$restipo->fields['vencimiento']." ".$dif." ".$nivel."<br>";
     
     endwhile;
     //echo $nivel;
     return $nivel;
}

function obtener_deuda_punitorios($cre,$fin,$tipCre){
    $sql="select * from cuotasCredito where saldo > 1 and creditoId=".$cre." order by vencimiento desc";

    $restipo=  cons_ins($sql);
    $nivel=0;
     while ($reg=mysql_fetch_array($restipo)):
     $hoy=date("Y-m-d");
	 //verifico punitorios
	 if($reg['vencimiento'] < $hoy){
	 $pun=  obtener_punitorios(obtener_tasa_punitorios($tipCre), $reg['vencimiento'], $reg['saldo']);
	 $nivel+= $reg['capital']+ $reg['intereses'] + $pun;
	
	 }
	 else
	 $nivel+= $reg['capital']+ $reg['intereses'];
	  
	 
     
     endwhile;
     //echo $nivel;
     return number_format($nivel,2);
}



function actualizo_dni_credito($dniold,$dni){
     $sql="UPDATE creditos
   SET 
      cliente = ".$dni."
 WHERE cliente=".$dniold;
    //echo $sql;die();
   $restipo=  cons_ins($sql);
    
}

function loguearTel($id,$cel){
    //actualizo el numero de cel nuevo
	 $sql="UPDATE clientes
   SET 
      TelCel= '".$cel."'
 WHERE id=".$id;
    //echo $sql;die();
   $restel=  cons_ins($sql);
   //logueo el telefono nuevo
    $sqlLogTel="INSERT INTO clientesTelefonos
           (Cliente
           ,TelefonoCel
		   ,Fecha)
     VALUES
           (".$id."
           ,'".$cel."'
		   ,'".date("Y-m-d")."')";
    //echo $sql;die();
   $rescel=  cons_ins($sqlLogTel);
    
}

function generarSMS($id,$cel,$nom){
// genero numero aleatorio	
srand (time());
//generamos un número aleatorio
$numero_aleatorio = rand(1,10000); 

//Guardo el numero en el cliente
 $sql="UPDATE clientes
   SET 
      CodigoAutorizacionSMS = ".$numero_aleatorio." WHERE id=".$id;
	//echo $sql;die();
	$rescel=  cons_ins($sql);
enviarSMS($id,$numero_aleatorio,$cel,$nom);
	}
	
function enviarSMS($id,$num_al,$cel,$nom)
{
require_once('lib/nusoap.php');	
	
$prexml='
<xml-push-sms>
<metadata>
<server>stringway.smscover.com</server>
<version>Gateway_V3</version>
<accion>0</accion>
</metadata>
<parametros>
<cabecera>
<user>casarosa</user>
<key>CASAROSA4821</key>
<lote-request>'.date("Ymdhis").'-'.$id.'-'.$num_al.'-'.$cel.'</lote-request>
<formato>NoClass_7Bit</formato>
<bocas></bocas>
<prioridad>6</prioridad>
<fecha-comienzo>'.date("d/m/Y").'</fecha-comienzo>
<fecha-fin>'.date("d/m/Y").'</fecha-fin>
<continuacion>0</continuacion>
<rangos-horarios><rango-horario id="'.$id.'">
<hora-desde am-pm="am">8:00</hora-desde>
<hora-hasta am-pm="pm">11:00</hora-hasta>
</rango-horario>
</rangos-horarios>
</cabecera>
<detalle>
<destinatarios>
<destinatario><idTran>'.$id.'-'.$num_al.'-'.$cel.'</idTran>
<numeroTelefono pais="+54">'.$cel.'</numeroTelefono>
<mensaje>Estimado '.trim($nom).' se ha registrado un nuevo credito en nuestros sistemas.Gracias por Confiar en nosotros . COMERCIALIZADORA MASS</mensaje>
</destinatario>
</destinatarios>
</detalle>
</parametros>
</xml-push-sms>';

try{	
$client = new nusoap_client('https://www.smscover.com/stringway/?wsdl','wsdl');
$err = $client->getError();
if ($err) {
 echo '<h2>Constructor error</h2><pre>' . $err . '</pre>';
}

$param = array('strXmlParameters' => $prexml);
$result = $client->call('smsPush', $param);

loguearSMS($id,$cel,$num_al,$prexml);
}catch (Exception $e){   
echo "Error! \n";
echo  $e->getMessage();
echo $e->getLine();
}
	
}

	
function enviarSMSEntrega($dni,$cred,$abonado)
{
require_once('lib/nusoap.php');	
$sql="select * from clientes where Dni='".$dni."'";
$regcli= cons_ins($sql);
$reg=mysql_fetch_array($regcli);
$cel=trim($reg['TelCel']);
$nom=trim($reg['Nombre']);


	
$prexml='
<xml-push-sms>
<metadata>
<server>stringway.smscover.com</server>
<version>Gateway_V3</version>
<accion>0</accion>
</metadata>
<parametros>
<cabecera>
<user>casarosa</user>
<key>CASAROSA4821</key>
<lote-request>'.date("Ymdhis").'-'.$dni.'-'.$cred.'-'.$cel.'</lote-request>
<formato>NoClass_7Bit</formato>
<bocas></bocas>
<prioridad>6</prioridad>
<fecha-comienzo>'.date("d/m/Y").'</fecha-comienzo>
<fecha-fin>'.date("d/m/Y").'</fecha-fin>
<continuacion>0</continuacion>
<rangos-horarios><rango-horario id="'.$dni.'">
<hora-desde am-pm="am">8:00</hora-desde>
<hora-hasta am-pm="pm">11:00</hora-hasta>
</rango-horario>
</rangos-horarios>
</cabecera>
<detalle>
<destinatarios>
<destinatario><idTran>'.$dni.'-'.$cred.'-'.$cel.'</idTran>
<numeroTelefono pais="+54">'.$cel.'</numeroTelefono>
<mensaje>Estimado '.trim($nom).' se ha registrado un pago de $'.$abonado.' a su cuenta.Muchas gracias por mantenerse al dia. MASS COMERCIALIZADORA/mensaje>
</destinatario>
</destinatarios>
</detalle>
</parametros>
</xml-push-sms>';

try{	
$client = new nusoap_client('https://www.smscover.com/stringway/?wsdl','wsdl');
$err = $client->getError();
if ($err) {
 echo '<h2>Constructor error</h2><pre>' . $err . '</pre>';
}

$param = array('strXmlParameters' => $prexml);
$result = $client->call('smsPush', $param);

//loguearSMS($id,$cel,$num_al,$prexml);
}catch (Exception $e){   
echo "Error! \n";
echo  $e->getMessage();
echo $e->getLine();
}	
	
	
	
}	

function loguearSMS($id,$tel,$codigo,$mensaje)
{
 $sql="INSERT INTO LogEnvioSMS
           (Cliente
           ,Telefono
           ,Codigo
           ,Mensaje
           ,Fecha)
     VALUES
           (".$id."
           ,'".$tel."'
           ,".$codigo."
           ,'".$mensaje."'
           ,'".date("Y-m-d")."')";
	//echo $sql;die();
	$rescel=  cons_ins($sql);
	}
	
	
	function actualizar_estado($cre,$est)
     {
		 $sqlCred="UPDATE creditos
         SET estado = ".$est."
         WHERE id=".$cre;
         $insCre=  cons_ins($sqlCred);}
		 
		 
	function mensaje_x_nivel($dni,$nivel){
		if($nivel==0)
		 $men='Estimado/a '.strtoupper(obtener_cliente_nombre($dni)).' mostrando este Mensaje tiene un cupo disponible de $1200 en frondizi 245. Casa Rosa';
		 elseif($nivel==1)
		 $men='Estimado/a '.strtoupper(obtener_cliente_nombre($dni)).' mostrando este Mensaje tiene un cupo disponible de $1200 en frondizi 245. Casa Rosa';
		 else
		 if($nivel==2)
		 $men='Estimado/a '.strtoupper(obtener_cliente_nombre($dni)).' Queremos Recordarle acercarse lo mas Pronto posible a nuestro local.Casa Rosa';
		 else
		 if($nivel==3)
		 $men='Estimado/a '.strtoupper(obtener_cliente_nombre($dni)).'  le Recordamos Abonar su Cuota Pendiente. Mostrando este mensaje no tiene recargos en su cuota. Casa Rosa';else
		 if($nivel==4)
		 $men='Estimado/a '.strtoupper(obtener_cliente_nombre($dni)).'  le Recordamos Abonar su Cuota Pendiente. Mostrando este mensaje no tiene recargos en su cuota. Casa Rosa';
		 else
		  $men='Estimado/a '.strtoupper(obtener_cliente_nombre($dni)).' le Recordamos Abonar su Cuota Pendiente. Mostrando este mensaje no tiene recargos en su cuota. Casa Rosa';
		  
		  //Le informamos que su Crédito Nº se encuentra en instancia Judicial. Queda Ud. debidamente Notificado.-Casa Rosa';
		  
		  return $men;
		 
		
		
		}



function enviarSMSTotales($texto,$cel)
{
require_once('lib/nusoap.php');	
	
$prexml='
<xml-push-sms>
<metadata>
<server>stringway.smscover.com</server>
<version>Gateway_V3</version>
<accion>0</accion>
</metadata>
<parametros>
<cabecera>
<user>casarosa</user>
<key>CASAROSA4821</key>
<lote-request>'.date("Ymdhis").'-'.$cel.'</lote-request>
<formato>NoClass_7Bit</formato>
<bocas></bocas>
<prioridad>6</prioridad>
<fecha-comienzo>'.date("d/m/Y").'</fecha-comienzo>
<fecha-fin>'.date("d/m/Y").'</fecha-fin>
<continuacion>0</continuacion>
<rangos-horarios><rango-horario id="'.$cel.'">
<hora-desde am-pm="am">8:00</hora-desde>
<hora-hasta am-pm="pm">11:00</hora-hasta>
</rango-horario>
</rangos-horarios>
</cabecera>
<detalle>
<destinatarios>
<destinatario><idTran>'.date("Ymdhis").'-'.$cel.'</idTran>
<numeroTelefono pais="+54">'.$cel.'</numeroTelefono>
<mensaje>Resumen de '.trim($texto).'</mensaje>
</destinatario>
</destinatarios>
</detalle>
</parametros>
</xml-push-sms>';

try{	
$client = new nusoap_client('https://www.smscover.com/stringway/?wsdl','wsdl');
$err = $client->getError();
if ($err) {
 echo '<h2>Constructor error</h2><pre>' . $err . '</pre>';
}

$param = array('strXmlParameters' => $prexml);
$result = $client->call('smsPush', $param);

//loguearSMS($id,$cel,$num_al,$prexml);
}catch (Exception $e){   
echo "Error! \n";
echo  $e->getMessage();
echo $e->getLine();
}
	
}


//temporal luego sacar
function obtener_cliente_dir($dni){
$sql="select * from clientes where Dni=".$dni;
$consultar=  cons_ins($sql);
$reg=mysql_fetch_array($consultar);
return $reg['Calle']." ".$reg['Numero']." ".$reg['Piso']." ".$reg['Dpto']." ".$reg['Localidad'];

}	

function obtener_cliente_loc($dni){
$sql="select * from clientes where Dni=".$dni;
$consultar=  cons_ins($sql);
$reg=mysql_fetch_array($consultar);
return obtener_nombre_localidad($reg['Localidad']);

}

function obtener_cliente_tel($dni){
$sql="select * from clientes where Dni=".$dni;
$consultar=  cons_ins($sql);
$reg=mysql_fetch_array($consultar);
return $reg['TelCel'];

}	

function obtener_cliente_tel_fijo($dni){
$sql="select * from clientes where Dni=".$dni;
$consultar=  cons_ins($sql);
$reg=mysql_fetch_array($consultar);
return $reg['TelFijo'];

}	

function obtener_cliente_tel_vecino($dni){
$sql="select * from clientes where Dni=".$dni;
$consultar=  cons_ins($sql);
$reg=mysql_fetch_array($consultar);
return $reg['TelVecino'];

}	

function cliente_crediser($dni){
$sql="select * from creditos where financiera=1 and cliente=".$dni;
$consultar=  cons_ins($sql);

$cliente="No";
while ($reg=mysql_fetch_array($consultar)){
$cliente="Si";

}
return $cliente;

}	

//fin temporal



function enviarSMSNivel($nivel,$ano,$mes,$cliente,$tel,$telcel)
{
require_once('lib/nusoap.php');	

$prexml='
<xml-push-sms>
<metadata>
<server>stringway.smscover.com</server>
<version>Gateway_V3</version>
<accion>0</accion>
</metadata>
<parametros>
<cabecera>
<user>casarosa</user>
<key>CASAROSA4821</key>
<lote-request>'.date("Ymdhis").'-'.$nivel.'-'.$ano.'-'.$mes.'</lote-request>
<formato>NoClass_7Bit</formato>
<bocas></bocas>
<prioridad>6</prioridad>
<fecha-comienzo>'.date("d/m/Y").'</fecha-comienzo>
<fecha-fin>'.date("d/m/Y").'</fecha-fin>
<continuacion>0</continuacion>
<rangos-horarios><rango-horario id="'.$nivel.'">
<hora-desde am-pm="am">8:00</hora-desde>
<hora-hasta am-pm="pm">11:00</hora-hasta>
</rango-horario>
</rangos-horarios>
</cabecera>
<detalle>
<destinatarios>
<destinatario><idTran>'.$cliente.'-'.$ano.'-'.$tel.'</idTran>
<numeroTelefono pais="+54">'.$telcel.'</numeroTelefono>
<mensaje>
'.mensaje_x_nivel($cliente,$nivel).'</mensaje>
</destinatario>
</destinatarios>
</detalle>
</parametros>
</xml-push-sms>';

//echo $prexml."<br><br>";



try{	
$client = new nusoap_client('https://www.smscover.com/stringway/?wsdl','wsdl');
$err = $client->getError();
if ($err) {
 echo '<h2>Constructor error</h2><pre>' . $err . '</pre>';
}

$param = array('strXmlParameters' => $prexml);
$result = $client->call('smsPush', $param);

//loguearSMS($id,$cel,$num_al,$prexml);
}catch (Exception $e){   
echo "Error! \n";
echo  $e->getMessage();
echo $e->getLine();
}	
	}	
	
//MODULO TELE COBRANZAS
function listar_tipo_gestion(){
$sql="select * from cob_tipogestion";
$resloc=  cons_ins($sql);
$dev='<select name="tipo"><option value="0" selected>Seleccionar... </option>';
while ($reg=mysql_fetch_array($resloc)){
$dev.='<option value="'.utf8_encode(trim($reg['TipoGestion'])).'">'.utf8_encode(trim($reg['Nombre'])).'</option>';


  }
$dev.='</select>';
return $dev;


}

function listar_operadores(){
$sql="select * from usuarios";
$resloc=  cons_ins($sql);
$dev='<select name="ope"><option value="0" selected>Seleccionar... </option>';
while ($reg=mysql_fetch_array($resloc)){
$dev.='<option value="'.utf8_encode(trim($reg['id'])).'">'.utf8_encode(trim($reg['Usuario'])).'</option>';


  }
$dev.='</select>';
return $dev;


}

function tipo_gestion($tip){
$sql="select * from cob_tipogestion where TipoGestion=".$tip;
$resloc=  cons_ins($sql);
$reg=mysql_fetch_array($resloc);
return utf8_encode(trim($reg['Nombre']));
}

function operadores($ope){
$sql="select * from usuarios where id=".$ope;
$resloc=  cons_ins($sql);
$reg=mysql_fetch_array($resloc);
return utf8_encode(trim($reg['Usuario']));

}

function fecha_ultima_corrida($niv){
$sql="select max(Fecha) as fecha from logprocesomensual where nivel=".$niv;
$resloc=  cons_ins($sql);
return $resloc;

}

function canOpe_nivel($niv,$mes,$ano){
$sql="select count(*) as Cantidad from logprocesomensual where nivel=".$niv."  and Mes=".$mes." and Ano=".$ano." order by id desc";
//echo $sql;die();
$resloc=  cons_ins($sql);

 if(mysql_num_rows($resloc)>0){
	$reg=mysql_fetch_array($resloc);
	return utf8_encode(trim($reg['Cantidad']));
}else
  return 0;

}


function obtener_deuda_total($niv,$mes,$ano){
$sql="select * from logprocesomensual where nivel=".$niv."  and Mes=".$mes." and Ano=".$ano." order by id desc";
//echo $sql;die();
$resloc=  cons_ins($sql);
$tot=0;
while($reg=mysql_fetch_array($resloc)){
    $fin=obtener_id_financiera($reg['Credito']);
	$tot= $tot+ obtener_deuda($reg['Credito'], $fin);
	
}
	return $tot;
	}
	//FIN MODULO

function obtener_tot_gestiones($niv,$mes,$ano){
$sql="select sum(gestiones) as Cantidad from logprocesomensual where nivel=".$niv."  and Mes=".$mes." and Ano=".$ano." order by id desc";
//echo $sql;die();
$resloc=  cons_ins($sql);

 if(mysql_num_rows($resloc)>0){
	$reg=mysql_fetch_array($resloc);
	return utf8_encode(trim($reg['Cantidad']));
}else
  return 0;

}

function obtener_ultima_gestion($cre){
$sql="select * from cob_gestiones where GestionCredito=".$cre;
$resloc=  cons_ins($sql);
if(mysql_num_rows($resloc)>0){
	$reg=mysql_fetch_array($resloc);
	return format_fec($reg['GestionFecha'],"/");}
else
	return "--/--/----";

}

function listar_tipo_gestion_requerida(){
$sql="select * from cob_tipogestion";
$resloc=  cons_ins($sql);
$dev='<select name="tipo" required>';
while ($reg=mysql_fetch_array($resloc)){
$dev.='<option value="'.utf8_encode(trim($reg['TipoGestion'])).'">'.utf8_encode(trim($reg['Nombre'])).'</option>';


  }
$dev.='</select>';
return $dev;


}
		 
 ?>